﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Infra.Entity;

namespace Infra.Common.DAO
{
   
    public class TipoTelefoneDAL
    {
        public static void Salvar(PERTIPOTELEFONE tpTelefone)
        {
            using (DBInfraEntityDataContext dc = new DBInfraEntityDataContext())
            {
                if (tpTelefone.CODTIPOTELEFONE != 0)
                {
                    //Alterar o utilizador
                    var TIPO = dc.PERTIPOTELEFONEs.Single(TPT => TPT.CODTIPOTELEFONE == tpTelefone.CODTIPOTELEFONE);
                    TIPO.STRTIPOTELEFONE = tpTelefone.STRTIPOTELEFONE;
                    dc.SubmitChanges();
                }
                else
                {
                    //Gravar utilizador
                    dc.PERTIPOTELEFONEs.InsertOnSubmit(tpTelefone);
                    dc.SubmitChanges();
                }
            }
        }



        public static void Excluir(int idTipoTelefone)
        {
            using (DBInfraEntityDataContext dc = new DBInfraEntityDataContext())
            {
                var TIPO = dc.PERTIPOTELEFONEs.Single(TPT => TPT.CODTIPOTELEFONE == idTipoTelefone);
                dc.PERTIPOTELEFONEs.DeleteOnSubmit(TIPO);
                dc.SubmitChanges();
            }
        }



        public static List<PERTIPOTELEFONE> Pesquisar(int Codigo, string Telefone)
        {
            List<PERTIPOTELEFONE> ListaTIPOTelefone = null;

            using (DBInfraEntityDataContext dc = new DBInfraEntityDataContext())
            {
                var TIPO = from TPT in dc.PERTIPOTELEFONEs
                        where ((Codigo.Equals(0) || Codigo.Equals(TPT.CODTIPOTELEFONE)) &&
                        (Telefone.Equals(string.Empty) || Telefone.Equals(TPT.STRTIPOTELEFONE.Contains(Telefone))))
                        select TPT;
                ListaTIPOTelefone = TIPO.ToList();
            }
            return ListaTIPOTelefone;
        }


        public static List<PERTIPOTELEFONE> Pesquisar()
        {
            List<PERTIPOTELEFONE> ListaTIPOTelefone = null;

            using (DBInfraEntityDataContext dc = new DBInfraEntityDataContext())
            {
                var TIPO = from TPT in dc.PERTIPOTELEFONEs
                           select TPT;
                ListaTIPOTelefone = TIPO.ToList();
            }
            return ListaTIPOTelefone;
        }




    }

}
